یکی از مشکلاتی که سازمانهای دولتی و خصوصی به آن بر میخورند ورود فایلهای مشکوک و بدافزار به درون سازمان است. این امر باعث آسیب به سازمان و بروز مشکلاتی همانند دسترسی غیرمجاز به اطلاعات محرمانه، تخریب سیستمها و سرویسها، سرقت اطلاعات، تحلیل و رصد فعالیتهای سازمانی، و حتی تأثیر منفی بر روی اعتماد عمومی به سازمان میشود. برای مقابله با این چالشها، پویشگر چندموتوره سایبرنو (MultiAV) به عنوان یک سامانه امنیتی موثر و کارآمد در نظر گرفته میشود.
پویشگر چند موتوره سایبرنو با بیش از 30 ضدویروس و ابزار شناسایی بدافزار همانند Yara فایلهای مشکوک و بدافزارها را تشخیص میدهد. این سامانه میتواند در سازمانهای دولتی، سازمانهای بزرگ و کوچک در صنایع مختلف، سازمانهای بانکی و مالی، سازمانهای آموزشی، سازمانهای بهداشتی و بیمارستانها و سایر نهادها و سازمانهایی که به دادهها و اطلاعات حساس دسترسی دارند، استفاده شود.
سازمانها میتوانند برای اسکن فایلهای موجود در سازمان پویشگر چندموتوره را از طریق Rest-API به سامانههای اتوماسیون، پرتالهای سازمانی و به طور کلی هر سامانهای که امکان آپلود فایل دارد متصل کنند. مقالهی پیش رو، راهنمای اتصال پویشگر چندموتوره به سامانههای اتوماسیون میباشد که طی آن به چگونگی اسکن فایلهای مشکوک خواهیم پرداخت.
نکته: چنانچه از سامانههای مرسوم به اشتراکگذاری فایل همانند ownCloud و NextCloud در سازمان خود استفاده میکنید، میتوانید به مقاله مرتبط به آن مراجعه کنید. جهت مطالعه مقاله ownCloud میتوانید به اینجا و برای مقاله NextCloud میتوانید به اینجا مراجعه نمایید.
مطالبی که در ادامه میخوانید:
برای عملیات ورود کاربر، باید درخواست POST را به مسیر user/login ارسال کنید. این درخواست باید شامل پارامترهای ضروری مانند ایمیل (email) و کلمه عبور (password) در قالب JSON باشد.
{
"email": "string",
"password": "string"
}
پس از ارسال درخواست، سیستم به شما پاسخی ارسال خواهد کرد. اگر ورود موفقیتآمیز باشد، پاسخ، حاوی توکن (token) احراز هویت کاربر خواهد بود که باید در درخواستهای بعدی استفاده شود. در صورتی که ورود ناموفق باشد، پاسخ حاوی اطلاعات خطا و دلیل عدم موفقیت ورود خواهد بود.
{
"success": "string",
"data": "string"
}
جهت شروع عملیات پویش باید درخواست POST را به مسیر scan/multiscanner/init ارسال کنید. درخواست باید شامل پارامترهای file (حاوی محتوای فایل)، token،autostart و avs باشد. فیلد avs باید حاوی لیست ضدویروسهایی باشد که میخواهید فایل مدنظرتان با استفاده از آنها پویش گردد. نام ضدویروسها را در این لیست با Space از یکدیگر جدا کنید. برای مثال، فیلد avs میتواند برابر “kaspersky avast eset” باشد. فیلد autostart نیز اختیاری است و ترجیحا آن را برابر False قرار دهید.
پس از ارسال درخواست، سیستم پاسخی را در قالب JSON به شما ارسال خواهد کرد. پاسخ حاوی اطلاعات مربوط به راهاندازی اولیه مالتی اسکنر و اطلاعات مربوطه خواهد بود. در صورت موفق بودن عملیات، پاسخ باید حاوی guid باشد. در غیر این صورت، پاسخ حاوی اطلاعات خطا و دلیل عدم موفقیت خواهد بود.
{
"success": true,
"guid": "string",
"password_protected": [
"string"
]
}
چنانچه فایل ورودی شما در مرحله قبل دارای رمز عبور باشد، در این مرحله میتوانید رمز عبور آن را وارد کنید. برای استخراج فایلهای دارای رمز عبور، باید درخواست را به مسیر scan/extract/{scan_guid} ارسال کنید. درخواست باید شاملguid که در مرحله قبل دریافت کردید و پارامترهای مورد نظر شاملtoken ، path و password باشد.
{
"token": "string",
"path": "string",
"password": "string"
}
پس از ارسال درخواست، سیستم پاسخی را در قالب JSON به شما ارسال خواهد کرد. در صورت موفق بودن عملیات، فیلد success باید برابر true باشد.
{
"success": true
}
برای شروع عملیات پویش، باید درخواست POST را به مسیر scan/start/{scan_guid} ارسال کنید. درخواست باید شامل پارامترهای ضروری guid و token باشد.
پس از ارسال درخواست، سیستم پاسخی را به شما ارسال خواهد کرد. در صورت موفقیت، فیلد success باید برابر true باشد. در غیر این صورت، پاسخ حاوی اطلاعات خطا و دلیل عدم موفقیت در شروع عملیات خواهد بود.
{
"success": true
}
برای دریافت نتیجه عملیات پویش، guid خود را به صورت POST به آدرس scan/result/{scan_guid} ارسال کنید. درخواست ورودی باید شامل پارامترهای اجباری guid و token باشد.
پس از ارسال درخواست، سیستم پاسخی را به شما ارسال خواهد کرد. پاسخ حاوی نتایج اسکن فایل توسط ضدویروسها خواهد بود. در صورت اتمام عملیات پویش، پاسخ باید حاوی فیلد finished_at باشد. در صورت رخداد خطا، پاسخ حاوی اطلاعات خطا و دلیل عدم موفقیت در دریافت نتایج خواهد بود.
{
"success": true,
"data": {
"current_file": {},
"files_count": 0,
"malware": {},
"progress": {},
"started_at": 0,
"updated_at": 0,
"finished_at": 0,
"md5": "string",
"sha1": "string",
"sha256": "string"
}
}
در صورتی که فایلی را قبلا پویش کردهاید میتوانید نتیجه آن را از پایگاه داده بگیرید تا نیازی به اسکن دوباره آن فایل نباشد. برای جستجو، باید درخواست POST را به مسیر scan/search ارسال کنید.
درخواست باید شامل پارامتر token باشد. شما میتوانید فیلترهای جستجوی مختلفی اضافه کنید. مثلا میتوانید با استفاده از پارامتر hash در لیست فایلهای موجود در پایگاه داده بر حسب MD5، SHA-1 و SHA-256 جستجو کنید.
پس از ارسال درخواست، سیستم نتایج جستجو را به شما ارسال خواهد کرد. پاسخ حاوی نتایج جستجو و اطلاعات مربوطه خواهد بود. در صورت موفق بودن عملیات، پاسخ باید حاوی نتایج مورد نظر و اطلاعات مربوطه باشد. در غیر این صورت، پاسخ حاوی اطلاعات خطا و دلیل عدم موفقیت در جستجو خواهد بود.
جهت درک بهتر استفاده از API و آپلود فایل به سامانه Multiscanner (یا همان MultiAV) چند نمونه کد به زبانهای مختلف در github قرار گرفته است:
Perl ==> https://github.com/cyberno-ir/apisamples_perl
C# ==> https://github.com/cyberno-ir/apisamples_c-sharp.net
PHP ==> https://github.com/cyberno-ir/apisamples_php
CPP (Win32) ==> https://github.com/cyberno-ir/apisamples_cpp_win32
Go ==> https://github.com/cyberno-ir/apisamples_go